Traditional techniques for removing unwanted features from images include wire removal techniques such as are used in movies, dust and scratches filters used in software applications such as PHOTOSHOP®, provided by Adobe Systems, Inc. of San Jose, Calif., inpainting, and other algorithms. In typical replacement pixel data generation techniques, selected pixels in an image are regenerated based on values of the pixels bordering the selected pixels and on first and second order partial differential equations (e.g., the Laplace equation). For example, traditional inpainting techniques generally are based on second order the Laplace equation and/or anisotropic diffusion. These techniques often result in noticeable discontinuities at the edges of the inpainted region.
Other techniques of generating replacement data values in an image region include applying area operations such as blurring or performing median calculations (e.g., using Gaussian filters and median filters) at each pixel in the selected region. The image area, or neighborhood, used for the area operation generally will include one or more selected pixels with undesirable data values. Thus, the neighborhood needs to be large enough to swamp the contributions of the undesirable pixel data. Oftentimes, a user must specify how large to make the neighborhood to minimize the effects of the undesirable data values. For example, techniques that are based on frequency domain separations generally require that the user specify a neighborhood size that will be used by the filter that separates gross details from fine details.
Some conventional techniques also apply a high-frequency component from another image to a healed region after it has been modified to replace defective pixel values. But the results of such traditional techniques for removing unwanted features of an image often do not reflect the true properties of most images. Areas of images that are filled-in using conventional techniques frequently have discontinuities at the boundary of the filled-in region and/or look blurred or otherwise appear to lack detail. These filled-in areas are often easily noticed and do not look like a natural part of the image, either because the surrounding areas are textured, or because pixel intensity changes sharply at the boundary of each filled-in area.
Another technique for generating data values for an image is texture synthesis. Texture synthesis algorithms synthesize new texture based on sample texture by simply copying pixels from the sample texture to a new location so they match the texture pattern. As a result, a potentially unlimited area of new texture may be “grown” from a small “seed” of sample texture. One example of a texture synthesis algorithm is the Pattern Maker feature in PHOTOSHOP® image editing software. Because texture synthesis techniques essentially grow texture from an existing texture image outward, such techniques are useful for growing an object bigger. If texture synthesis is used to fill in an area within an existing image, however, colors typically do not match at some of the boundaries between the existing image and the synthesized texture or where two regions of synthesized texture meet.
Traditional techniques for modifying images also include image enhancement techniques used to address recurring visual anomalies, such as by obtaining dynamic range compression. Land's “Retinex” theory has been used in a number of image enhancement techniques that apply a defined modification to an image to address dynamic range and color constancy issues. Defined techniques for adjusting shadow and highlight detail in images are also available. For example, one technique can assist in removing shadows from images and involves duplicating, blurring and inverting an image, followed by combining the image with the original image in Color Dodge mode in PHOTOSHOP® software. Although the sequence of steps in this technique may be considered relatively strange, they can produce useful results in adjusting shadow and highlight detail in images.